最后更新时间:2019年7月5日
功能介绍
空间分析是从空间数据中获取有关地理对象的空间位置、分布、形态、形成和演变等信息的分析技术,是地理信息系统的核心功能之一,它特有的对地理信息的提取、表现和传输的功能,是地理信息系统区别于一般管理信息系统的主要功能特征。GIS中实现空间分析的基本功能,包括缓冲区分析、叠加分析、路径分析、空间量算、空间插值、统计分类分析等。
开发者可结合实际需求实现缓冲分析功能,所谓缓冲区就是在点、线、区实体周围建立一定宽度范围的多边形。
开发者可结合实际需求实现叠加分析功能,借助叠加分析可以进行空间数据相交、求并、相减等多种空间分析操作。
开发者可结合实际需求实现裁剪分析功能。裁剪分析支持内裁和外裁,内裁是裁剪结果保留为裁剪框边界之内的图形及相关属性;外裁是裁剪结果保留为裁剪框边界之外的图形及相关属性。
开发者可结合实际需求进行几何要素的空间计算,如计算两点距离、计算两区距离、计算直线角度、计算两线交点等。
开发者可结合实际需求进行空间关系判别,空间关系是对空间要素的拓扑关系的判断,包括相邻、相交、相离等基本的拓扑关系。
开发者可结合实际需求实现长度量算功能,可以量算几何距离,也可以量算实地距离。
开发者可结合实际需求实现面积量算功能,可以量算几何面积,也可以量算实地面积。
功能接口
空间分析功能对应的核心类为空间分析类MGSSpaAnalysis、空间关系类MGSSpaRelation、空间计算类MGSSpaCalculator。
接口 | 说明 |
---|---|
buffer:leftDis:rightDis: | 计算左右缓冲区 |
接口 | 说明 |
---|---|
intersection:intersectGeom: | 计算两个几何对象的交集 |
unions:unionGeom: | 计算两个几何对象的并集 |
difference:differenceGeom: | 计算两个几何对象的差集 |
symmetricDifference:intersectionGeom: | 计算两个几何对象的对称差 |
merge:mergeGeom: | 合并两个几何对象 |
split:line: | 指定线分割折线或多边形 |
convexHull: | 计算几何对象的凸闭包 |
接口 | 说明 |
---|---|
clip:clipPoly:flag: | 裁剪 |
接口 | 说明 |
---|---|
isGeom:equalsGeom: | 相等判断 |
isGeom:crossesGeom: | 相交判断 |
isGeom:containsGeom: | 包含判断 |
isGeom:overlapsGeom: | 相覆盖判断 |
isGeom:touchesGeom: | 相邻接判断 |
isGeom:withinGeom: | 被包含判断 |
isGeom:disjoint: | 相离判断 |
isDot:inLin: | 判断点是否在折线内 |
isDot:inRect: | 判断点是否在矩形内 |
isDot:inReg:flg:esp: | 判断点是否在区内 |
isLin:inReg:esp: | 判断线是否在区内 |
isLin:interReg: | 判断线是否和区相交 |
isRect:inReg:esp: | 判断矩形是否在区内 |
isRect:interLin: | 判断矩形是否和线相交 |
isReg:inReg:esp: | 判断区1是否在区2内 |
isReg:interReg: | 判断区是否和区相交 |
接口 | 说明 |
---|---|
angle2PIDot0:dot1: | 计算直线角度 |
calLinesIntersLine1:line2: | 计算两条线的交点 |
distanceDot0:dot1: | 计算两点距离 |
distanceGeom1:geom2:distanceType: | 计算两个几何对象间的距离 |
实现方法
空间分析的整体思路基本一致,如下图所示,不同功能之间需调用不同的接口,传递不同的参数,获取不同的结果。
(1) 分析对象获取:获取待分析的几何图形对象或几何对象,一般可通过交互操作在地图中选取或者通过查询操作得到;
(2) 空间分析对象准备:创建MGSSpaAnalysis或MGSSpaRelation或MGSSpaCalculator对象,然后准备待分析的几何对象;
(3) 实现空间分析:调用空间分析接口实现空间分析并返回分析结果,如buffer、clip、intersection、union、difference、symmetricDifference等;
(4) 结果处理:将空间分析得到的结果进行展现,一般将得到的分析结果转为图形对象,然后通过图形覆盖物在地图上展示。